package com.zretc.emptraining.dao;

import java.util.Date;
import java.util.List;

import com.zretc.emptraining.dbtools.PageData;
import com.zretc.emptraining.entity.Emp;

public interface EmpDao {
	// 获得员工列表
	public List<Emp> getEmps(String keywords);

	// 添加员工
	public boolean addEmp(Emp emp);

	// 通过编号查找
	public List<Emp> getEmpByEmpno(int empNo);

	public Emp getEmpsByNo(int empNo);

	// 通过名字查找
	public List<Emp> getEmpByName(String empName);

	// 查询所有
	public List<Emp> getEmp();

	// 通过编号修改员工信息
	public boolean updEmp(int empNo, String empName, int deptNo, String empXl, String empSex, String empID,
			Date empTime, String empAddress, String empTel, String empEmail, String empJob);

	// 前台员工修改部分信息 通过名字
	public boolean updEmp(String empName, String empAddress, String empEmail, String empPic);

	// 通过编号修改员工照片
	public boolean updEmpPic(int empNo, String empPic);

	// 通过名字删除员工
	public boolean delEmpByName(String empName);

	// 通过编号删除员工
	public boolean delEmp(int empNo);

	// 通过员工电话号码获得员工编号
	public List<Emp> getEmpByEmptel(String empTel);

	// 修改员工部门及职位 --- 部门表修改时
	public boolean updEmpDeptJob(int empNo, int deptNo, String empJob);

	// 通过手机号获取员工信息
	public Emp getEmpsByTel(String empTel);
	
	
	/**
	 * 分页查询 
	 * @param page 当前页
	 * @param pageSize  页数
	 * @param keywords  查询关键字
	 * @return
	 */
	// 分页 根据员工名
	public PageData<Emp> getEmpByPage(int page, int pageSize, String keywords);

	// 分页 根据员工编号
	public PageData<Emp> getEmpByPageEmpNo(int page, int pageSize, String keywords);

	// 分页 员工部门
	public PageData<Emp> getEmpByPageDeptName(int page, int pageSize, String keywords);

	// 分页 员工学历
	public PageData<Emp> getEmpByPageEmpXl(int page, int pageSize, String keywords);

	// 分页 员工性别
	public PageData<Emp> getEmpByPageEmpSex(int page, int pageSize, String keywords);

	// 分页 员工职位
	public PageData<Emp> getEmpByPageEmpJob(int page, int pageSize, String keywords);

}
